package edu.ctbu.insurance.controller;

import com.github.pagehelper.PageInfo;
import edu.ctbu.insurance.bean.Customer;
import edu.ctbu.insurance.bean.InsProduct;
import edu.ctbu.insurance.mapper.InsProductMapper;
import edu.ctbu.insurance.service.InsProductService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ResponseBody;

import java.io.Console;
import java.util.List;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author cd
 * @since 2024-06-28
 */
@Controller
@RequestMapping("/insProduct")
public class InsProductController {
    @Autowired
    private InsProductService insProductService;

/**
 * 获取保险产品信息表中的数据
 * 使其在前端页面中能够遍历展示出来
 * **/
    @RequestMapping("/findAllInsProduct")
    @ResponseBody
    public List<InsProduct> findAllInsProduct(String productId,String productType){
//        List<InsProduct> insProductList = insProductService.list();
//        return insProductList;
        return insProductService.likeSelectIdAndType(productId,productType);
    }

/**
 * 向数据库t_ins_product表插入一条保险产品信息
 * **/
    @RequestMapping("/saveInsProduct")
    @ResponseBody
    public String saveInsProduct(InsProduct insProduct){
        Boolean b =insProductService.save(insProduct);
        if (b){
            return "ok";
        }else {
            return "error";
        }
    }

/**
 * 进行数据的更新
 * **/
    @RequestMapping("/updateInsProduct")
    @ResponseBody
    public Boolean updateCustomer(InsProduct insProduct){
        return insProductService.updateById(insProduct);
    }

    /**
     * 进行数据的删除
     * **/
    @RequestMapping("/deleteInsProductById")
    @ResponseBody
    public boolean deleteInsProductById(int productId){
        return insProductService.deleteInsProductById(productId);
    }


    /**
     * 获取保险产品信息表中的数据
     * 对网页实现分页操作
     * **/
    @RequestMapping("/getAllInsProductLikeIdAndTypeAndPageHelper")
    @ResponseBody
    public PageInfo getAllInsProductLikeIdAndTypeAndPageHelper(String productId, String productType, int pageNum, int pageSize){
        List<InsProduct> insProductList =
                insProductService.getAllInsProductLikeIdAndTypeAndPageHelper(productId,productType,pageNum,pageSize);
        return new PageInfo(insProductList);
    }

    /**
     * author: 刘金玉
     * 查找产品名
     */
    @RequestMapping("/findInsProductByInsProductId")
    @ResponseBody
    public InsProduct  findInsProductByInsProductId(Integer productId){
        InsProduct insProduct = insProductService.findInsProductByProductId(productId);
        if(insProduct == null){
            insProduct = new InsProduct();
            insProduct.setProductName("未找到");
            return  insProduct;
        }
        return insProductService.findInsProductByProductId(productId);
    }

}
